package com.example.roadeyeserver.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.roadeyeserver.entity.GantryHourFlowWide;
import com.example.roadeyeserver.entity.report.TrafficRankReport;
import com.example.roadeyeserver.entity.request.CommonRequest;
import com.example.roadeyeserver.entity.vo.GantryHourFlowWideVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface GantryHourFlowWideMapper extends BaseMapper<GantryHourFlowWide> {

    GantryHourFlowWideVO getCrossOverviewReport(@Param("request") CommonRequest request);

    List<GantryHourFlowWideVO> getTrafficRankReport(@Param("request") CommonRequest request);

    List<GantryHourFlowWideVO> getFlow(@Param("request") CommonRequest request);

    List<GantryHourFlowWideVO> getRoadFlowReport(@Param("request") CommonRequest request);

    GantryHourFlowWideVO getCrossOverviewReportWithDirection(@Param("request") CommonRequest request);

    List<GantryHourFlowWideVO> getTrafficRankReportInGantry(@Param("request") CommonRequest request);

    List<GantryHourFlowWideVO> getRoadFlow(@Param("request") CommonRequest request);

    List<GantryHourFlowWideVO> getRoadFlowDetail(@Param("request") CommonRequest request);

    GantryHourFlowWideVO getMaxTimeRecord();

}
